package com.cyj.codegen.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cyj.codegen.model.GenConfig;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @Description: 代码生成器服务层
 * @BelongsProject: MybatisPlusCodeGenDemo
 * @BelongsPackage: com.cyj.codegen.service
 * @Author: ChenYongJia
 * @CreateTime: 2021-09-03 10:06
 * @Email: chen87647213@163.com
 * @Version: 1.0
 */
public interface GeneratorService {

    /**
     * 生成代码
     *
     * @param tableNames 表名称
     * @return
     */
    byte[] generatorCode(GenConfig tableNames);

    /**
     * 分页查询表
     *
     * @param page      分页信息
     * @param tableName 表名
     * @param name      数据源ID
     * @return
     */
    IPage<List<Map<String, Object>>> getPage(Page page, String tableName, String name);

    /**
     * 预览代码
     *
     * @param genConfig 查询条件
     * @return
     */
    Map<String, String> previewCode(GenConfig genConfig);

}
